没有比做预测更蠢的事情了。人类在这方面非常糟糕,至少以第三人称与自己说话让我可以取笑自己的愚蠢而不感到难过。
有这种幻觉,风险投资家和天使投资人已经全部想通了;原来他们的预测成功率就像掷硬币一样准确,谁知道呢?我以为他们实际上是为了知道自己在做什么而受到薪酬。
无论如何,7年前我决定做出未来5年Web的7项预测。这篇文章有一段时间处于草稿状态,所以我想我有点晚来参加派对。也许应该是关于未来7年的5个预测=/
我的想法是反思事物的发展方向,这样我就可以在时间过去后再次回顾它们。
现在是反思的时候了。
移动应用远没有过时,也不是“尚未”。我们有Instagram、TikTok、UberEATS和其他大量专门为移动手机定制和优化的应用程序。并不是说你不能在Web上提供相同的体验,只是所需技能和基于JavaScript的Web技术发展速度使得移动Web难以成为一个可行的商业模式。
谷歌趋势显示,对渐进式Web应用的兴趣在2018/2019/2020年达到了巅峰。然而,它在2021年开始显著下降,然后在2023年回升。
然而,Web应用从未停止增长:
顺便说一句,为什么会有那些九月份的暴增呢?
网站似乎并不太在意:
看起来,Web正处于一个命名危机。接下来是什么,Web加密?
看起来只是2021年的时尚...
这一点是非常准确的,尽管我应该加入一些重要说明。
现在,一切都是组件,就像10年前一切都是“类”一样。React和JSX是最受欢迎的工具,尽管它们以JavaScript无处不在™为代价(最好小心),并且在第一次启动时,前端的最小要求是2GB的负载大小。
“现代Web”架构今天已经完全可行,包括React、Webpack及其10¹³²的依赖项。毕竟,用户应该能够使用像iPhone 35这样的设备加载您的网站,其处理能力相当于数万亿台阿波罗火箭,包括与最新拨号上网一样快速的互联网连接。
每个公司似乎都在复制Facebook的技术堆栈,明显是为了模仿它的成功。我不确定这是否会奏效,但问题仍然存在,即React是因为组件而成为未来,还是组件是由于React才成为未来。
只有时间能告诉我们答案。
说到React,他们从在类中使用render()
方法转变为使用接受props并返回JSX的函数。那是很久以前的事情了。这对函数式范式来说是一个重大的简化改进。正如我6年前所写的那样,一个前端组件是一个返回视图的函数,很高兴他们做出了这个改变。
关于函数式编程是否已经在主流社区之外取得进展,似乎并没有。幸好我没有说它会取得进展:
我的意思是,Java和C#仍然是很重要的东西,微软正在试图用C#的"Type"来取代"Java",这看起来有一些怨恨。
要注意下一个消息:“TC39已更名为TS40”。
除非Brendan Eich将Brave的用户代理更改为与Safari完全相同(这方面有一些先例),否则这个预测就失败了。
有些地方说Brave的市场份额为0.05%。然而,“Brave浏览器使跟踪市场份额变得困难”:https://kinsta.com/browser-market-share/
有一件事我说对了:Chrome在第一位处于主导地位。
另一方面,Safari排名第二。
对于Web来说,标准并没有改变。它仍然是一堆存储在S3中的意大利面,而架构和设计被抛在了一边。只有工具的名称不同,混乱还是一样的。如果有人做对了,那就是Kevlin Henney的观点“老是新的新”:https://www.youtube.com/watch?v=AbgsfeGvg3E。经典!
事后看来,我过于乐观,以为会有一些改变。
衡量前端事件溯源的最好方法是查看Redux库的流行程度,它是一个半成品的在浏览器中进行函数式事件溯源实现,将在对象字面量中“描述发生了什么”的称为“action”而不是“event”。
Redux的流行度一直在不断上升,但似乎正在达到一个平台期:
React增长更多,很容易预测趋势:
Vue相当于React,两者都试图像动画片一集的开头一样触及天空:
另外,人们对Bootstrap感到厌倦:
Redux遵循与jQuery相同的趋势:
作为对比,Bitcoin在2017年上升,看起来人们对加密和分布式系统更感兴趣。
然而,Bitcoin仓库的流行度仍然与jQuery相同水平,可能所有的加密项目的流行度都分散在其他900万个“币”中。
我很久以前就用js-cookie做到了这一点,但似乎这个趋势没有在其他组件中得到跟随,可能只有个别组件会这样做。Angular是新的jQuery,NPM也成为新的jQuery,现在React是新的NPM,但它在分发上使用了NPM,所以有些奇怪。一切都是“React”组件。用JavaScript构建前端组件,并使用与其插件化的框架和库,似乎没有取得进展,可能永远也不会取得。毕竟,创建JavaScript组件并不能帮助您被雇为下一位高级{时髦之物}工程师。
好的,我知道你在想什么。我甚至不确定**styled-components**这个趋势是否真的在主流中流行起来。React肯定是,但是现在很少有人在使用styled-components,很高兴如果有证据证明我是错误的:
所以让我们总结一下:
我对我五年前对Web的七个预测进行了评估。这些预测包括渐进式Web应用的崛起,基于组件的Web设计,JavaScript中的函数式编程的成功,Brave浏览器的成功,基于状态的架构与事件溯源的优势,以及CSS的融入JavaScript。
回顾这些,似乎移动应用程序并没有变得过时,渐进式Web应用的兴趣达到了巅峰,然后下降,然后回升。Web确实成为了大规模基于组件的,React和JSX日益受欢迎。函数式编程现在对JavaScript和React至关重要。然而,Brave浏览器没有取得可以衡量的成功(也许这是故意的,因为它是一个隐私浏览器)。尽管小部分使用了Redux,Web的架构依然复杂,而CSS在JavaScript中的问题并没有如预期那样成为主流。